以往,非技术人员想要开发一个AI应用,至少需要一些编程知识、调SDK工具包等基础能力,这让不少人望而却步,哪怕有一部分人出于热情学习了基础知识与开发流程,但在实操中也会由于出现的各类操作问题很快失去兴趣。
随着大模型的出现,现在很多传统AI应用开发的复杂流程都不复存在。尤其是,有了硅基流动SiliconCloud这样的大模型API平台之后,更是大幅提升了开发效率,你与AI应用开发之间的门槛,可能只隔着一个API密钥。
那么,如何使用这一密钥帮你跨越AI应用开发的大门?本文作者郭垒从初级AI开发者的视角出发,通过一些真实的AI应用开发案例,分享了如何基于SiliconCloud把大模型能力引入到这些应用。无论你是初学者还是对AI开发有基本了解的爱好者,不妨按他的描述尝试实现一个简单应用,如他所言,或许并没有想象中那么难。(本文经作者授权后发布。原文:https://guoleilei.notion.site/AI-af9e1461aee6465793ddcb61fb323cd3)初识 AI 开发:从生成一个标题开始
我有这样一个东西。通过 iOS 快捷指令获取一段文字输入,方式可以是输入框、语音转文字、或是读取剪贴板,然后调用 Notion 的 API 插入到 Notion 的 Database 中。类似任意一个笔记 App,当你输入一段文字,然后就多一条记录。然后我遇到了一个小问题,每张笔记卡片其实都有标题属性。目前,标题都还空着。这不是什么大问题,但是感觉如果有一个标题会更好一点,但我又不想在快捷指令流程里加一个输入标题的环节。
1.打开官网(https://cloud.siliconflow.cn/)进行注册。3.然后打开 SiliconCloud API文档(https://docs.siliconflow.cn/docs/),粘贴密钥,填一个简单的prompt,把文本也放进去。
请帮我为下面的文字生成一个10字左右的标题
###
这里是一段测试文本,试图测试生成标题的效果
4.粘贴到参数里,选一个 Qwen 的模型,点运行就可以看到结果。由于我的接口用了AWS的lambda函数,是node环境,并且自带fetch 。我就直接复制了node-fetch代码,代码也可以直接使用,简单把content拿出来就行了。这算一个AI开发的小例子吧。现在让我们回到开头的问题,你觉得这一套流程需要多久?
来做一下优化:输出更多信息
prompt可以优化,简单的用陈财猫老师设计的BROKE模型( Background 说明背景、Role 指定角色、Objectives任务目标、Key Results关键结果、Evolve测试prompt的输出并持续优化,具体不再展开)。输出可以优化,尝到甜头之后我想要的更多了。我不仅要标题,我还要卡片icon、总结、关键词、分类、情感分类,以及一个可以直接解析拿来用的JSON.我将给你一段文字,请分析并以 JSON 格式返回相关信息:
###
{
"summary": "这里是文字内容的摘要。",
"title": "根据内容生成的标题,10 字以内",
"emoji": "合适的 emoji,**限 1 个**",
"sentiment": "情感分析结果,如'positive', 'negative', 'neutral'。",
"keywords": ["关键词1", "关键词2", "..."],
"categories": ["主题1", "主题2", "..."]
}
###
要求:
1. 你的输出将直接用于程序解析,请不要用任何标记语言,严格按照上述格式返回纯文本的 JSON。
2. 用户输入将以"###"包裹,请直接分析,不要对话。
### ${content} ###
担心JSON输出可能不稳定?毕竟不是程序生成,可能还是会出现字段没对上或者响应不能直接解析的情况。没关系。解析不了就重新让它生成一下,简单粗暴(实际上Qwen2-72B生成JSON的效果很好)。最后的代码可能类似这样:export async function handleContent(content, isRetry = false) {
try {
// 获取 GPT 响应
const gptOptions = createGptRequestOptions(content);
const gptRes = await http.post(gptOptions.url, gptOptions.data, {
headers: gptOptions.headers,
});
// 相当于从响应里把对话的文字拿出来
const gptMessage = gptRes.choices[0].message.content;
// 直接解析并拿来构建 notion api 请求
const notionBody = createNotionRequestBody(content, JSON.parse(gptMessage));
const notionRes = await http.post(
'https://api.notion.com/v1/pages',
notionBody,
{ headers: notionRequestHeaders }
);
return notionRes;
} catch (error) {
// 如果出现异常,比如解析异常、请求异常等,重试
await sleep(1000);
return await handleContent(content, true);
}}
写脚本自动试了 300 多次,观察了一下数据都正常。收工。继续学习的话,结构化输出部分也可以参考 Vercel AI SDK: 生成结构化数据,另外 OpenAI 的 CEO 山姆·奥特曼在月初(8.7)也宣布官方支持直接输出 JSON 结构化数据。即便如此,退一步讲,对于一些简单的场景,上面简单粗暴的方法能不能用?能用,且用起来还不错。后续还能做什么呢?比如也可以每周把知识库草稿状态的东西拼一下扔给 AI,让他整理一下,补充一些文摘或者是最新信息,我想也不难处理。
再进一步:更多可能性
上面是一个简单的例子,还有没有其他可以做的事情呢?比如,能不能重新做一个数据mock工具?用户输入要求,或是从需求稿上直接复制字段出来,让GPT生成mock数据。同理还有SQL、脚本。还可以做一个替代初级审核的AI,使用AI自动审核用户发布的贴子或者评论,评估可能造成的影响。综合考虑成本和效果,可以针对不同的情况使用不同级别的审核策略。比如,可以先使用多个SiliconCloud的免费模型进行评估,免费模型的结果不一致时,再要求效果更好的付费模型介入。只有在AI的最终评估结果模糊时才需要人工介入。实际上,针对不同的场景我们可以选择最适合的模型。就像近期很火的一个问题:先用我开发的Silo应用来测试一下这个问题,这个应用支持多模型同时对话。我们先看输出结果:从截图中可以看到,各个模型对这个问题的回答存在明显的差异,其中 Qwen2-Math 的回答逻辑更清晰,那对于数学问题,就可以交给Qwen2-Math去处理。另外比如代码生成方面,Claude、Deepseek-Coder 的效果会更好一点。那问题又来了,如果我们想要在程序中使用不同领域模型的能力,是不是需要每个模型都集成对接一遍?当然不需要。SiliconCloud提供多种模型服务,提供统一的OpenAI Compatible 的API接口,可以更加灵活的切换模型,并且提供开箱即用的大模型推理加速服务,输出速度极快。截图使用的Silo就是基于SiliconCloud API开发,在大语言模型以外,SiliconCloud也支持各种图片生成模型。从模型的价格来看,首先,大部分模型都免费,其次,SiliconCloud付费模型也极具优势,token价格相对较低。对用户来说,现在注册就送14元额度(相当于2000万token)可用于体验付费模型,实测这14元额度够用很久了。即使是最贵的国内模型Qwen2-72B也才4.13元 / 1M,相当于能完整输出一部长篇小说。
简单介绍一下Silo
Silo是一款基于SiliconCloud API开发的多模型同时对话的应用,代码已托管在GitHub,并提供Web端和浏览器插件的使用方式。用户可访问 https://chat.kwok.ink (站点由 Vercel 托管,部分地区可能需要代理访问),或是在Chrome应用商店搜索Silo(Edge扩展审核较慢,也可以在Chrome应用商店安装)。基于SiliconCloud API,模型丰富,响应快
一次配置,可同时跟多个大模型聊天,且模型还在持续上新中
SiliconCloud余额自动刷新
夜间模式
手机端支持(受限于屏幕尺寸,目前提供较简单的版本)
纯前端实现(方便迁移、CDN部署,直连SiliconCloud服务器)
模型参数调整
优化的输入体验
富文本展示
最重要的是对AI祛魅
我跟一个朋友说,可以试着看有什么场景搞一下,朋友说哈哈哈我不会。相信大家看到这里,就不会有这种想法了。AI 并非高深莫测。对于还没踏进这个领域的人,我觉得最重要的可能是要对 AI 祛魅。把 AI 集成到你的程序里,切实地改善一些场景,或许也并没有想象的那么难。你不需要一上来就要接触 RAG、Embeddings、LangChain、Agents、Tool Calling 这些东西。我们现在也经常跟 ChatGPT 类似软件聊天,这就是最普通的文本生成,所以第一步可以先把聊天框当做 Postman + server,让它直接返回你要的数据,然后试着把它搬到了代码里。这里也推荐李开复博士联手科幻作家陈楸帆写的书《AI未来进行式》。陈楸帆老师写了10个AI相关的科幻故事,然后李开复老师会对每个故事中涉及的一些AI概念给出严谨深入的技术论述。对于扩宽思路或是了解AI整体图景来说都很有裨益。写这篇文章时也想起来一件事。几年前一个朋友问我,如果想做语言的情感分析,需要怎么做。他想对各个电影的评论做一个分析。当时的场景下,各个云厂商都提供这种AI SDK,比如情感分析,你给它一段文字,它会给你一个JSON 数据,里面有一个值表示这句话的倾向。现在,这种事情交给AI就方便多了。我们可能也不再需要对接单独的翻译SDK、图像识别SDK等等,甚至可以认为,这些东西已经完成了它们的历史使命,它们的研发为新技术的发展积累了宝贵经验,进而有了我们现在看到的这些不断接近AGI的东西出现。相比于ChatGPT刚进入大众视野时,现在使用大模型的成本越来越低,速度也越来越快。大模型厂商在经历野蛮生长之后,逐渐从追求更大的参数量、上下文长度,也把目光更多的投向速度提升、结构化输出、细分领域模型、智能体等。明显可以看到的是,大模型正在加速普及。正如SiliconCloud的愿景,加速AGI普惠人类。现在很多之前受限于成本或者技术能力的场景,都有了新的可能性。对于各个公司来说,可能会有较大的业务包袱,加AI功能要保持克制,但个人开发者的优势就是灵活。建议就把 SiliconCloud 提供的AI能力当做一把超级锤子,看到什么就砸一下,就看看会不会有用。通过快速试错来积累足够多的经验,进而培养自己在这方面的直觉。AI正逐步成为我们生活里重要的一部分,而这一进程似乎无从阻止。尽管如此,我们应认识到AI并非魔法,以GPT为例,其看似复杂且难以捉摸的运作机制,实则不过是在尝试预测并生成下一个最合适的词语。我们应当增进对AI的理解,探索这个时代赋予我们的神奇伙伴。与其徒然仰望,不如积极参与,早日涉足其中。从GitHub Copilot发布以来,我曾很多次为AI的发展感到精神振奋。我知道那是数字,但又常常感到那并不仅仅是数字。我也对真正的AGI充满期待,相信我们会是很好的朋友、伙伴。近期更新
• 硅基流动成立这一年
• 硅基花样流动 | SiliconCloud产品体验魔法师奖公布
• 手把手教你配置OneAPI、LobeChat、MindSearch
• Embedding与Rerank模型RPM、TPM分别提升2倍、10倍
• SiliconCloud API接入实战:沉浸式翻译、Dify、NextChat“三连击”
让超级产品开发者实现“Token自由”
邀请好友体验SiliconCloud,狂送2000万Token/人
邀请越多,Token奖励越多
siliconflow.cn/zh-cn/siliconcloud
扫码加入用户交流群